package com.blb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.blb.entity.Cargo;
import com.blb.entity.WareMenu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zyp
 * @since 2019-11-14
 */
public interface ICargoService extends IService<Cargo> {
    /**
     * 查询全部
     * @return
     */
    public List<Cargo> getAll();
    /**
     * 查询全部货位info
     * nodeId、companyId
     * 依据货架编号、货位编号、状态
     * @param cargoNo
     * @param shelvesNo;
     * @param status
     * @return
     */
    public List<Cargo> AllCargo(@Param("nodeId") String nodeId,@Param("nodeType") String nodeType,@Param("companyId") String companyId,
                                @Param("cargoNo") String cargoNo, @Param("shelvesNo")String shelvesNo,
                                @Param("status")String status,@Param("start") int start, @Param("length") int length);

    /**
     * 依据id查询详情
     * @param id
     * @return
     */
    public Cargo findCargoById(String id);

    /**
     * 更新
     * @param cargo
     */
    void updateCargo(Cargo cargo);

    /**
     * 计数
     * @param cargoNo
     * @param shelvesNo
     * @param status
     * @return
     */
    int count(@Param("nodeId") String nodeId,@Param("nodeType") String nodeType,@Param("companyId") String companyId,
              @Param("cargoNo") String cargoNo, @Param("shelvesNo")String shelvesNo,
              @Param("status")String status);

    /**
     * 更新货位状态
     * @param id
     * @param status
     */
    void updateCargoStatus(String id, String status);
    /**
     * 仓库列表
     * @return
     */
    List<WareMenu> findPid(String companyId);
}
